package com.t.bricks.bussiness.db.dao.sequence;

import java.util.List;

import com.t.bricks.model.MsgEmity;

/**
 * 序列操作
 * @author HuangXinBian
 * @DateTime 2021年7月7日 下午9:28:01
 */
public interface SequenceDao {
	
	/**
	 * 创建序列表
	 * @param dbName 所在库名
	 * @return
	 */
	MsgEmity createTable(String dbName);
	
	/**
	 * 判断序列表是否存在
	 * @param dbName 所在库名
	 * @return
	 */
	MsgEmity checkTable(String dbName);

	/**
	 * 取各表(或序列)的新Id
	 * @Param dbName 所在库名
	 * @param formatLong 格式化长度(不足长度+0)
	 * @param sName 表名或序列名
	 * @return
	 */
	String getNewId(String dbName, int formatLong, String sName);
	
	/**
	 * 取各表的一批新Id
	 * @Param dbName 所在库名
	 * @param formatLong 格式化长度(不足长度+0)
	 * @param sName 表名或序列名
	 * @param size 数量
	 * @return
	 */
	List<String> getNewIds(String dbName, int formatLong, String sName, int size);

	/**
	 * 重置
	 * @Param dbName 所在库名
	 * @param sName 序列名
	 * @param iInitial 初始值
	 * @return
	 */
	int reset(String dbName, String sName, Integer iInitial);
	
}
